居然是这个样子。
我这里好大一张图片呢。我使用了扩展显示器,也许有一定的关系。用了我一个半显示器呢
第二步:简单访问IO(资料来自网络资源的整理)
经过进一步的查阅资料发现了以下东西:
(1)樱花板相关参数:
(2)樱花板引脚分布及宏定义(Value与other name的对应关系)
(3)访问LED及按键所需要知道的other name
下面对上面三个表(1-3)所涉及的相关事项进行说明:
1、注意事项:(1)表(2)中PIN_P14(IRQ4/DPUPE)被USB的一个控制信号共用;
(2)表(2)中PIN_P15(IRQ5/SD card)被SD卡的插入探测引脚共用;
(3)表(2)中PIN_P16(IRQ6/VBUS)被USB的一个控制引脚共用;
(4)表(2)中PIN_P35(NMI)只具有输入功能而不具有输出功能;
2、如何访问GPIO
为了访问GPIO,需要利用到表(2)中的value(值)或者other name(别名)。其中value代表Arduino板上的引脚编号,Arduino板子只支持20个引脚,其范围是樱花板上标的0-19,但GR-Sakure板子可以定义到55个引脚,即编号为20-50的引脚定义是GR-Sakura板子的特殊功能。other name代表端口名称及MCU中的位编号。例如PIN_PC3是PORTC的第3位。当使用other name时,可以写成如digitalWrite(PIN_21,HIGH)的形式来代替digitalWrite(0,HIGH)以增加程序的可读性。这种转换关系在所有针对IO操作的函数中都有效。下面举一个访问GPIO的例子:
unsigned char count = 0;
void loop()
{
if(digitalRead(PIN_P32) == '0')
{
analogWrite(PIN_P50,count++);//输出PWM波
}
if(digitalRead(PIN_PE0) == '1')
{
tone(PIN_P21,count,100);//以count Hz为频率响100ms
}
}
3、如何访问LED和按键(这里需要用到上面表(3)中的名称),举例说明:
//初始化函数
void setup()
{
pinMode(PIN_LED0,OUTPUT); //将LED0对应的引脚配置为输出
pinMode(PIN_LED1,OUTPUT); //将LED1对应的引脚配置为输出
pinMode(PIN_LED2,OUTPUT); //将LED2对应的引脚配置为输出
pinMode(PIN_LED3,OUTPUT); //将LED3对应的引脚配置为输出
pinMode(PIN_SW, INPUT); //将SW对应的引脚配置为输入
}
void loop()
{
digitalWrite(PIN_LED0,1);//LED0输出高
digitalWrite(PIN_LED1,0);//LED1输出低
digitalWrite(PIN_LED2,1);//LED2输出高
digitalWrite(PIN_LED3,digitalRead(PIN_SW));//LED3输出高按键电平
}
下面再玩一下tone函数:
#include <rxduino.h>
#define INTERVAL 100
void setup()
{
pinMode(PIN_LED0,OUTPUT);
pinMode(PIN_LED1,OUTPUT);
pinMode(PIN_LED2,OUTPUT);
pinMode(PIN_LED3,OUTPUT);
pinMode(17,OUTPUT);
}
void loop()
{
digitalWrite(PIN_LED0, 1);
digitalWrite(PIN_LED1, 1);
digitalWrite(PIN_LED2, 1);
digitalWrite(PIN_LED3, 1);
delay(INTERVAL);
digitalWrite(PIN_LED0, 0);
digitalWrite(PIN_LED1, 0);
digitalWrite(PIN_LED2, 0);
digitalWrite(PIN_LED3, 0);
tone(17,10000,100); //以1KHz的频率输出100ms时间
}
效果如下:
可怜的人儿,开发板都用了两天了才发现自已已经在使用Arduino了,汗啊,发现像什马pinMode()、digitalWrite()、digitalRead()、analogWrite()、tone()这些个函数原来都是Arduino中早就有的……下面看看analogWrite()函数吧,在Arduino中相当于是用PWM来完成了,这里就用它来简单地控制一下灯的亮度:
经过进一步的查阅资料发现了以下东西:
(1)樱花板相关参数:
(2)樱花板引脚分布及宏定义(Value与other name的对应关系)
(3)访问LED及按键所需要知道的other name
下面对上面三个表(1-3)所涉及的相关事项进行说明:
1、注意事项:(1)表(2)中PIN_P14(IRQ4/DPUPE)被USB的一个控制信号共用;
(2)表(2)中PIN_P15(IRQ5/SD card)被SD卡的插入探测引脚共用;
(3)表(2)中PIN_P16(IRQ6/VBUS)被USB的一个控制引脚共用;
(4)表(2)中PIN_P35(NMI)只具有输入功能而不具有输出功能;
2、如何访问GPIO
为了访问GPIO,需要利用到表(2)中的value(值)或者other name(别名)。其中value代表Arduino板上的引脚编号,Arduino板子只支持20个引脚,其范围是樱花板上标的0-19,但GR-Sakure板子可以定义到55个引脚,即编号为20-50的引脚定义是GR-Sakura板子的特殊功能。other name代表端口名称及MCU中的位编号。例如PIN_PC3是PORTC的第3位。当使用other name时,可以写成如digitalWrite(PIN_21,HIGH)的形式来代替digitalWrite(0,HIGH)以增加程序的可读性。这种转换关系在所有针对IO操作的函数中都有效。下面举一个访问GPIO的例子:
unsigned char count = 0;
void loop()
{
if(digitalRead(PIN_P32) == '0')
{
analogWrite(PIN_P50,count++);//输出PWM波
}
if(digitalRead(PIN_PE0) == '1')
{
tone(PIN_P21,count,100);//以count Hz为频率响100ms
}
}
3、如何访问LED和按键(这里需要用到上面表(3)中的名称),举例说明:
//初始化函数
void setup()
{
pinMode(PIN_LED0,OUTPUT); //将LED0对应的引脚配置为输出
pinMode(PIN_LED1,OUTPUT); //将LED1对应的引脚配置为输出
pinMode(PIN_LED2,OUTPUT); //将LED2对应的引脚配置为输出
pinMode(PIN_LED3,OUTPUT); //将LED3对应的引脚配置为输出
pinMode(PIN_SW, INPUT); //将SW对应的引脚配置为输入
}
void loop()
{
digitalWrite(PIN_LED0,1);//LED0输出高
digitalWrite(PIN_LED1,0);//LED1输出低
digitalWrite(PIN_LED2,1);//LED2输出高
digitalWrite(PIN_LED3,digitalRead(PIN_SW));//LED3输出高按键电平
}
下面再玩一下tone函数:
#include <rxduino.h>
#define INTERVAL 100
void setup()
{
pinMode(PIN_LED0,OUTPUT);
pinMode(PIN_LED1,OUTPUT);
pinMode(PIN_LED2,OUTPUT);
pinMode(PIN_LED3,OUTPUT);
pinMode(17,OUTPUT);
}
void loop()
{
digitalWrite(PIN_LED0, 1);
digitalWrite(PIN_LED1, 1);
digitalWrite(PIN_LED2, 1);
digitalWrite(PIN_LED3, 1);
delay(INTERVAL);
digitalWrite(PIN_LED0, 0);
digitalWrite(PIN_LED1, 0);
digitalWrite(PIN_LED2, 0);
digitalWrite(PIN_LED3, 0);
tone(17,10000,100); //以1KHz的频率输出100ms时间
}
效果如下:
可怜的人儿,开发板都用了两天了才发现自已已经在使用Arduino了,汗啊,发现像什马pinMode()、digitalWrite()、digitalRead()、analogWrite()、tone()这些个函数原来都是Arduino中早就有的……下面看看analogWrite()函数吧,在Arduino中相当于是用PWM来完成了,这里就用它来简单地控制一下灯的亮度:
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
vscode+cmake搭建雅特力AT32L021开发环境被打赏30分 | |
【换取逻辑分析仪】自制底板并驱动ArduinoNanoRP2040ConnectLCD扩展板被打赏47分 | |
【分享评测,赢取加热台】RISC-V GCC 内嵌汇编使用被打赏38分 | |
【换取逻辑分析仪】-基于ADI单片机MAX78000的简易MP3音乐播放器被打赏48分 | |
我想要一部加热台+树莓派PICO驱动AHT10被打赏38分 | |
【换取逻辑分析仪】-硬件SPI驱动OLED屏幕被打赏36分 | |
换逻辑分析仪+上下拉与多路选择器被打赏29分 | |
Let'sdo第3期任务合集被打赏50分 | |
换逻辑分析仪+Verilog三态门被打赏27分 | |
换逻辑分析仪+Verilog多输出门被打赏24分 |